#ifndef TILES_HPP_INCLUDED
#define TILES_HPP_INCLUDED
#include "libtcod.hpp"
#include <string>

using namespace std;

#define TILE_FLOOR	            0
#define TILE_WALL		        1
#define TILE_LAVA_LIGHT	        2
#define TILE_SMOKE		        3
#define TILE_WALL_DARK	        4
#define TILE_SWITCH_WALLS		5
#define SAFE_PLACE		        6
#define TILE_LAVA_DARK          7
#define TILE_SWITCH_LAVA        8
#define TILE_START              9
#define TILE_GOAL              10
// Data Structures ///////////////////////////////////////////////////////////////////////

struct TILE_TYPE
{
	int 	    nCharacter;			// ASCII character for this tile type
    TCODColor   nTileColor;		//Doryenabble Color Code
	bool	    bPassable;			// Set to true if you can walk on this tile
	bool        bTransparent;       // Can you see through/over this tile? (For FOV)
	bool	    bDangerous;			// Set to true to kill the player.
    bool        bCanSmoke;
};

//Extra colours go here.

TCODColor verydarkGrey(30,30,30);

// Global array used to define all tile types used in the game.
 TILE_TYPE  sTileIndex[] = {
	 { 219, verydarkGrey,  true, true, false, true },			// (0) TILE_FLOOR
	 { 219, TCODColor::darkOrange,  false, false, false, false},			// (1) TILE_WALL
	 { 219, TCODColor::red,  true, true, true, false },		// (2) TILE_LAVA_LIGHT
	 { 177, TCODColor::lightGrey,  true, true, true, true },			// (3) TILE_SMOKE
	 { 219, TCODColor::darkerOrange, true, true, false, false },			// (4) TILE_WALL_DARK
	 { 84, TCODColor::desaturatedGreen, true, true, false, false },			// (5) TILE_SWITCH_WALLS
	 { 219, TCODColor::desaturatedBlue, true, true, false, false },			// (6) SAFE_PLACE
	 { 219, TCODColor::darkerRed, true, true, false, false },                  // (7) TILE_LAVA_DARK
	 { 84, TCODColor::darkMagenta, true, true, false, false },                //  (8) TILE_SWITCH_LAVA
	 { 177, TCODColor::cyan, true, true, false, false },                    //  (9) TILE_START
	 { 219, TCODColor::orange, true, true, false, false }                      // (10) TILE_GOAL
};


#endif // TILES_HPP_INCLUDED
